package com.bms.client.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 出访管理(ChuFangGuanLi)实体类
 *
 * @author makejava
 * @version 1.0
 * @since 2021-03-15 17:51:31
 */
@ApiModel(value = "ChuFangGuanLi", description = "出访管理")
public class ChuFangGuanLi implements Serializable {
    private static final long serialVersionUID = -6808186350526046337L;
    /**
     * 出访时间
     */

    @ApiModelProperty(name = "chuFangShiJian", notes = "出访时间", dataType = "Date", required = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接收mysql数据库中的数据也需要设置东八区+8时
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date chuFangShiJian;
    /**
     * 预计出访时间
     */
    @ApiModelProperty(name = "yuJiChuFangShiJian", notes = "预计出访时间", dataType = "Date", required = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接收mysql数据库中的数据也需要设置东八区+8时
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date yuJiChuFangShiJian;
    /**
     * 出访目的
     */
    @ApiModelProperty(name = "chuFangMuDe", notes = "出访目的", dataType = "String", required = true)
    private String chuFangMuDe;
    /**
     * 出访申请人
     */
    @ApiModelProperty(name = "chuFangShenQingRen", notes = "出访申请人", dataType = "String", required = true)
    private String chuFangShenQingRen;
    /**
     * 出访人员id
     */
    @ApiModelProperty(name = "chuFangRenYuanId", notes = "出访人员id", dataType = "Integer", required = true)
    private Integer chuFangRenYuanId;
    /**
     * 合作计划id(id为-1为 自由出访人员 反之显示合作名)
     */
    @ApiModelProperty(name = "heZuoJiHuaId", notes = "合作计划id(id为-1为 自由出访人员 反之显示合作名)", dataType = "Integer", required = true)
    private Integer heZuoJiHuaId;
    /**
     * 费用id
     */
    @ApiModelProperty(name = "feiYongId", notes = "费用id", dataType = "Integer", required = true)
    private Integer feiYongId;

    @ApiModelProperty(name = "id", notes = "${column.comment}", dataType = "Integer", required = true)
    private Integer id;
    /**
     * 实际时间
     */
    @ApiModelProperty(name = "shiJiShiJian", notes = "实际时间", dataType = "Date", required = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接收mysql数据库中的数据也需要设置东八区+8时
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date shiJiShiJian;
    /**
     * 随行学生id（例子：1,2,3）
     */
    @ApiModelProperty(name = "suiHangXueSheng", notes = "随行学生id（例子：1,2,3）", dataType = "String", required = true)
    private String suiHangXueSheng;

    @ApiModelProperty(name = "yiWuRenYuans", notes = "随行学生id（例子：1,2,3）", dataType = "String", required = true)
    private List<YiWuRenYuan> yiWuRenYuans;

    @ApiModelProperty(name = "keYanRenYuan", notes = "科研人员", dataType = "String", required = true)
    private KeYanRenYuan keYanRenYuan;
    @ApiModelProperty(name = "heZuoJiHuaGuanLi", notes = "合作计划", dataType = "String", required = true)
    private HeZuoJiHuaGuanLi heZuoJiHuaGuanLi;
    @ApiModelProperty(name = "feiYongGuanLi", notes = "费用", dataType = "String", required = true)
    private FeiYongGuanLi feiYongGuanLi;

    public Date getChuFangShiJian() {
        return chuFangShiJian;
    }

    public void setChuFangShiJian(Date chuFangShiJian) {
        this.chuFangShiJian = chuFangShiJian;
    }

    public Date getYuJiChuFangShiJian() {
        return yuJiChuFangShiJian;
    }

    public void setYuJiChuFangShiJian(Date yuJiChuFangShiJian) {
        this.yuJiChuFangShiJian = yuJiChuFangShiJian;
    }

    public String getChuFangMuDe() {
        return chuFangMuDe;
    }

    public void setChuFangMuDe(String chuFangMuDe) {
        this.chuFangMuDe = chuFangMuDe;
    }

    public String getChuFangShenQingRen() {
        return chuFangShenQingRen;
    }

    public void setChuFangShenQingRen(String chuFangShenQingRen) {
        this.chuFangShenQingRen = chuFangShenQingRen;
    }

    public Integer getChuFangRenYuanId() {
        return chuFangRenYuanId;
    }

    public void setChuFangRenYuanId(Integer chuFangRenYuanId) {
        this.chuFangRenYuanId = chuFangRenYuanId;
    }

    public Integer getHeZuoJiHuaId() {
        return heZuoJiHuaId;
    }

    public void setHeZuoJiHuaId(Integer heZuoJiHuaId) {
        this.heZuoJiHuaId = heZuoJiHuaId;
    }

    public Integer getFeiYongId() {
        return feiYongId;
    }

    public void setFeiYongId(Integer feiYongId) {
        this.feiYongId = feiYongId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getShiJiShiJian() {
        return shiJiShiJian;
    }

    public void setShiJiShiJian(Date shiJiShiJian) {
        this.shiJiShiJian = shiJiShiJian;
    }

    public String getSuiHangXueSheng() {
        return suiHangXueSheng;
    }

    public void setSuiHangXueSheng(String suiHangXueSheng) {
        this.suiHangXueSheng = suiHangXueSheng;
    }

    public List<YiWuRenYuan> getYiWuRenYuans() {
        return yiWuRenYuans;
    }

    public void setYiWuRenYuans(List<YiWuRenYuan> yiWuRenYuans) {
        this.yiWuRenYuans = yiWuRenYuans;
    }

    public KeYanRenYuan getKeYanRenYuan() {
        return keYanRenYuan;
    }

    public void setKeYanRenYuan(KeYanRenYuan keYanRenYuan) {
        this.keYanRenYuan = keYanRenYuan;
    }

    public HeZuoJiHuaGuanLi getHeZuoJiHuaGuanLi() {
        return heZuoJiHuaGuanLi;
    }

    public void setHeZuoJiHuaGuanLi(HeZuoJiHuaGuanLi heZuoJiHuaGuanLi) {
        this.heZuoJiHuaGuanLi = heZuoJiHuaGuanLi;
    }

    public FeiYongGuanLi getFeiYongGuanLi() {
        return feiYongGuanLi;
    }

    public void setFeiYongGuanLi(FeiYongGuanLi feiYongGuanLi) {
        this.feiYongGuanLi = feiYongGuanLi;
    }
}